[INFO] cloning repository https://github.com/brensch/herdmentality
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brensch/herdmentality" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrensch%2Fherdmentality", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrensch%2Fherdmentality'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cdf72bdc865bcee1b14949802fc25237e8a2fb7a
[INFO] fixing brensch/herdmentality/cdf72bdc865bcee1b14949802fc25237e8a2fb7a against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrensch%2Fherdmentality" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/brensch/herdmentality
[INFO] finished tweaking git repo https://github.com/brensch/herdmentality
[INFO] tweaked toml for git repo https://github.com/brensch/herdmentality written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/brensch/herdmentality on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/brensch/herdmentality already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7f25d09cbaa8da7e58eab32ed418653ee8e76e502ace19ba53e7f9291c36e963
[INFO] running `Command { std: "docker" "start" "7f25d09cbaa8da7e58eab32ed418653ee8e76e502ace19ba53e7f9291c36e963", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7f25d09cbaa8da7e58eab32ed418653ee8e76e502ace19ba53e7f9291c36e963" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7f25d09cbaa8da7e58eab32ed418653ee8e76e502ace19ba53e7f9291c36e963", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7f25d09cbaa8da7e58eab32ed418653ee8e76e502ace19ba53e7f9291c36e963" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating crates/core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/protocol/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/bot/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/web/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/simsimd-pure/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking memchr v2.8.2
[INFO] [stderr]     Checking bytes v1.12.0
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.125
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling wasm-bindgen v0.2.125
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking http v1.4.2
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking uuid v1.23.3
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling multimap v0.10.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling petgraph v0.8.3
[INFO] [stderr]     Checking herdcore-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]    Migrating crates/core/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling crc32c v0.6.8
[INFO] [stderr]    Compiling branches v0.4.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling bigdecimal v0.4.10
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling io-uring v0.7.12
[INFO] [stderr]    Compiling turso_ext v0.6.1
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking data-encoding v2.11.0
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]    Compiling turso_core v0.6.1
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking siphasher v1.0.3
[INFO] [stderr]    Compiling aegis v0.9.12
[INFO] [stderr]     Checking softaes v0.1.5
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]     Checking crossbeam-skiplist v0.1.3
[INFO] [stderr]     Checking fastbloom v0.14.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking intrusive-collections v0.9.7
[INFO] [stderr]     Checking rapidhash v4.4.1
[INFO] [stderr]     Checking arc-swap v1.9.1
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.125
[INFO] [stderr]     Checking cfg_block v0.1.1
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]     Checking num-conv v0.2.2
[INFO] [stderr]     Checking time-core v0.1.9
[INFO] [stderr]    Compiling pastey v0.2.3
[INFO] [stderr]     Checking simsimd v6.5.16 (/opt/rustwide/workdir/crates/simsimd-pure)
[INFO] [stderr]    Migrating crates/simsimd-pure/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking env_filter v1.0.1
[INFO] [stderr]     Checking symlink v0.1.0
[INFO] [stderr]     Checking genawaiter-macro v0.99.1
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]     Checking genawaiter v0.99.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]    Compiling boolinator v2.4.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking route-recognizer v0.3.1
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking time v0.3.49
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling prost-derive v0.14.4
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling turso_macros v0.6.1
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling gloo-worker-macros v0.1.0
[INFO] [stderr]     Checking miette v7.6.0
[INFO] [stderr]     Checking pack1 v1.1.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking roaring v0.11.4
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]    Compiling implicit-clone-derive v0.1.2
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]    Compiling turso_sdk_kit_macros v0.6.1
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]    Compiling yew-macro v0.21.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking implicit-clone v0.4.9
[INFO] [stderr]    Compiling yew-router-macro v0.18.0
[INFO] [stderr]    Compiling prost v0.14.4
[INFO] [stderr]     Checking turso_parser v0.6.1
[INFO] [stderr]     Checking twox-hash v2.1.2
[INFO] [stderr]    Compiling prost-types v0.14.4
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.125
[INFO] [stderr]     Checking tracing-appender v0.2.5
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]    Compiling prost-build v0.14.4
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking pinned v0.1.0
[INFO] [stderr]     Checking js-sys v0.3.102
[INFO] [stderr]     Checking console_error_panic_hook v0.1.7
[INFO] [stderr]    Compiling herdcore-protocol v0.1.0 (/opt/rustwide/workdir/crates/protocol)
[INFO] [stderr]    Migrating crates/protocol/build.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/protocol/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking herdcore-bot v0.1.0 (/opt/rustwide/workdir/crates/bot)
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking prokio v0.1.0
[INFO] [stderr]    Migrating crates/bot/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/bot/src/play.rs:59:31
[INFO] [stdout]     |
[INFO] [stdout]  59 |       while let Some(message) = socket.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                 up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  60 |           let bytes = match message? {
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 111 |           let _ = socket
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 112 | |             .send(Message::Binary(encode_frame(&make_move(
[INFO] [stdout] 113 | |                 &lobby, &game, action,
[INFO] [stdout] 114 | |             ))))
[INFO] [stdout] 115 | |             .await;
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 116 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/bot/src/provider.rs:41:31
[INFO] [stdout]     |
[INFO] [stdout]  41 |       while let Some(message) = socket.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                 up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  42 |           let bytes = match message? {
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |               if active.lock().await.insert(assign.player_id.clone()) {
[INFO] [stdout]     |                  -------------------
[INFO] [stdout]     |                  |             |
[INFO] [stdout]     |                  |             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                  |             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                  `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  `__awaitee` calls a custom destructor
[INFO] [stdout]     |                  `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  54 | /                 tokio::spawn(async move {
[INFO] [stdout]  55 | |                     run_bot(
[INFO] [stdout]  56 | |                         &assign.game_server_url,
[INFO] [stdout]  57 | |                         &assign.lobby_id,
[INFO] [stdout] ...   |
[INFO] [stdout]  63 | |                     active.lock().await.remove(&assign.player_id);
[INFO] [stdout]  64 | |                 });
[INFO] [stdout]     | |                  -
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  67 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]    Migrating crates/bot/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/bot/src/play.rs:59:31
[INFO] [stdout]     |
[INFO] [stdout]  59 |       while let Some(message) = socket.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                 up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  60 |           let bytes = match message? {
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 111 |           let _ = socket
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 112 | |             .send(Message::Binary(encode_frame(&make_move(
[INFO] [stdout] 113 | |                 &lobby, &game, action,
[INFO] [stdout] 114 | |             ))))
[INFO] [stdout] 115 | |             .await;
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 116 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/bot/src/provider.rs:41:31
[INFO] [stdout]     |
[INFO] [stdout]  41 |       while let Some(message) = socket.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                 up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  42 |           let bytes = match message? {
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |               if active.lock().await.insert(assign.player_id.clone()) {
[INFO] [stdout]     |                  -------------------
[INFO] [stdout]     |                  |             |
[INFO] [stdout]     |                  |             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                  |             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                  `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  `__awaitee` calls a custom destructor
[INFO] [stdout]     |                  `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  54 | /                 tokio::spawn(async move {
[INFO] [stdout]  55 | |                     run_bot(
[INFO] [stdout]  56 | |                         &assign.game_server_url,
[INFO] [stdout]  57 | |                         &assign.lobby_id,
[INFO] [stdout] ...   |
[INFO] [stdout]  63 | |                     active.lock().await.remove(&assign.player_id);
[INFO] [stdout]  64 | |                 });
[INFO] [stdout]     | |                  -
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  67 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking web-sys v0.3.102
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.75
[INFO] [stderr]     Checking serde-wasm-bindgen v0.6.5
[INFO] [stderr]     Checking gloo-timers v0.3.0
[INFO] [stderr]     Checking gloo-utils v0.2.0
[INFO] [stderr]     Checking gloo-events v0.2.0
[INFO] [stderr]     Checking gloo-render v0.2.0
[INFO] [stderr]     Checking gloo-dialogs v0.2.0
[INFO] [stderr]     Checking gloo-worker v0.4.0
[INFO] [stderr]     Checking gloo-console v0.3.0
[INFO] [stderr]     Checking gloo-storage v0.3.0
[INFO] [stderr]     Checking gloo-net v0.4.0
[INFO] [stderr]     Checking gloo-file v0.3.0
[INFO] [stderr]     Checking gloo-history v0.2.2
[INFO] [stderr]     Checking gloo v0.10.0
[INFO] [stderr]     Checking yew v0.21.0
[INFO] [stderr]     Checking yew-router v0.18.0
[INFO] [stderr]     Checking herdcore-web v0.1.0 (/opt/rustwide/workdir/crates/web)
[INFO] [stderr]    Migrating crates/web/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/web/src/api.rs:22:43
[INFO] [stdout]      |
[INFO] [stdout]   21 |         let location = window.location();
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `location` calls a custom destructor
[INFO] [stdout]      |             `location` will be dropped later as of Edition 2024
[INFO] [stdout]   22 |         if let (Ok(protocol), Ok(host)) = (location.protocol(), location.host()) {
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   26 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.125/src/lib.rs:1335:1
[INFO] [stdout]      |
[INFO] [stdout] 1335 | impl Drop for JsValue {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `location` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.125/src/lib.rs:1335:1
[INFO] [stdout]      |
[INFO] [stdout] 1335 | impl Drop for JsValue {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/web/src/ws.rs:173:31
[INFO] [stdout]      |
[INFO] [stdout]  166 |         let mut inner = self.inner.borrow_mut();
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `inner` calls a custom destructor
[INFO] [stdout]      |             `inner` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  173 |         if let Some(socket) = inner.socket.take() {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  177 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.125/src/lib.rs:1335:1
[INFO] [stdout]      |
[INFO] [stdout] 1335 | impl Drop for JsValue {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `inner` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/web/src/api.rs:22:43
[INFO] [stdout]      |
[INFO] [stdout]   21 |         let location = window.location();
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `location` calls a custom destructor
[INFO] [stdout]      |             `location` will be dropped later as of Edition 2024
[INFO] [stdout]   22 |         if let (Ok(protocol), Ok(host)) = (location.protocol(), location.host()) {
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   26 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.125/src/lib.rs:1335:1
[INFO] [stdout]      |
[INFO] [stdout] 1335 | impl Drop for JsValue {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `location` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.125/src/lib.rs:1335:1
[INFO] [stdout]      |
[INFO] [stdout] 1335 | impl Drop for JsValue {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/web/src/ws.rs:173:31
[INFO] [stdout]      |
[INFO] [stdout]  166 |         let mut inner = self.inner.borrow_mut();
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `inner` calls a custom destructor
[INFO] [stdout]      |             `inner` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  173 |         if let Some(socket) = inner.socket.take() {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  177 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.125/src/lib.rs:1335:1
[INFO] [stdout]      |
[INFO] [stdout] 1335 | impl Drop for JsValue {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `inner` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking turso_sdk_kit v0.6.1
[INFO] [stderr]     Checking turso_sync_engine v0.6.1
[INFO] [stderr]     Checking turso_sync_sdk_kit v0.6.1
[INFO] [stderr]     Checking turso v0.6.1
[INFO] [stderr]     Checking herdcore-server v0.1.0 (/opt/rustwide/workdir/crates/server)
[INFO] [stderr]    Migrating crates/server/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/ws.rs:228:31
[INFO] [stdout]      |
[INFO] [stdout]  218 |           match socket.recv().await {
[INFO] [stdout]      |                 -------------------
[INFO] [stdout]      |                 |             |
[INFO] [stdout]      |                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  228 |                           match state
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout]  229 | |                             .app
[INFO] [stdout]  230 | |                             .join_or_create_lobby(&join.lobby_name, join.display_name)
[INFO] [stdout]  231 | |                             .await
[INFO] [stdout]      | |                              ----^
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |                              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                              |   up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  239 |                                   let Ok((events, snapshot, submitted)) = state
[INFO] [stdout]      |  _________________________________________------__________________________-
[INFO] [stdout]      |  _________________________________________|_______________________________|
[INFO] [stdout]      |  _________________________________________|_______________________________|
[INFO] [stdout]      |  _________________________________________|_______________________________|
[INFO] [stdout]      | |                                         |
[INFO] [stdout]      | |                                         `events` calls a custom destructor
[INFO] [stdout]      | |                                         `events` will be dropped later as of Edition 2024
[INFO] [stdout]  240 | |                                     .app
[INFO] [stdout]  241 | |                                     .watch_lobby(
[INFO] [stdout]  242 | |                                         &session.lobby_id,
[INFO] [stdout] ...    |
[INFO] [stdout]  246 | |                                     .await
[INFO] [stdout]      | |                                      -----
[INFO] [stdout]      | |______________________________________|___|
[INFO] [stdout]      | |______________________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |______________________________________|___`#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                        |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  250 |                                   if send(
[INFO] [stdout]      |  ____________________________________-
[INFO] [stdout]      | |____________________________________|
[INFO] [stdout]  251 | |                                     socket,
[INFO] [stdout]  252 | |                                     welcome_frame(&session, snapshot, submitted, &state.catalogue),
[INFO] [stdout]  253 | |                                 )
[INFO] [stdout]  254 | |                                 .await
[INFO] [stdout]      | |                                      -
[INFO] [stdout]      | |______________________________________|
[INFO] [stdout]      | |______________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 | |                             Err(error) => {
[INFO] [stdout]      | |                                 -----
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 `error` calls a custom destructor
[INFO] [stdout]      | |                                 `error` will be dropped later as of Edition 2024
[INFO] [stdout]  262 | |                                 let _ = send(socket, error_frame(&error.to_string(), false)).await;
[INFO] [stdout]      | |                                         ----------------------------------------------------------
[INFO] [stdout]      | |                                         |
[INFO] [stdout]      | |                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  265 | |                     }
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  300 | |                         let _ = send(socket, pong_frame()).await;
[INFO] [stdout]      | |                                 --------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  303 | |                         let _ = send(socket, error_frame("join the lobby first", false)).await;
[INFO] [stdout]      | |                                 --------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/broadcast.rs:1548:1
[INFO] [stdout]      |
[INFO] [stdout] 1548 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/ws.rs:218:15
[INFO] [stdout]      |
[INFO] [stdout]  218 |           match socket.recv().await {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                 |             |
[INFO] [stdout]      |                 |             this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      |                 |             up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                 up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  228 |                           match state
[INFO] [stdout]      |  _______________________________-
[INFO] [stdout]  229 | |                             .app
[INFO] [stdout]  230 | |                             .join_or_create_lobby(&join.lobby_name, join.display_name)
[INFO] [stdout]  231 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  239 |                                   let Ok((events, snapshot, submitted)) = state
[INFO] [stdout]      |  _________________________________________------__________________________-
[INFO] [stdout]      |  _________________________________________|_______________________________|
[INFO] [stdout]      |  _________________________________________|_______________________________|
[INFO] [stdout]      |  _________________________________________|_______________________________|
[INFO] [stdout]      | |                                         |
[INFO] [stdout]      | |                                         `events` calls a custom destructor
[INFO] [stdout]      | |                                         `events` will be dropped later as of Edition 2024
[INFO] [stdout]  240 | |                                     .app
[INFO] [stdout]  241 | |                                     .watch_lobby(
[INFO] [stdout]  242 | |                                         &session.lobby_id,
[INFO] [stdout] ...    |
[INFO] [stdout]  246 | |                                     .await
[INFO] [stdout]      | |                                      -----
[INFO] [stdout]      | |______________________________________|___|
[INFO] [stdout]      | |______________________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |______________________________________|___`#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                        |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  250 |                                   if send(
[INFO] [stdout]      |  ____________________________________-
[INFO] [stdout]      | |____________________________________|
[INFO] [stdout]  251 | |                                     socket,
[INFO] [stdout]  252 | |                                     welcome_frame(&session, snapshot, submitted, &state.catalogue),
[INFO] [stdout]  253 | |                                 )
[INFO] [stdout]  254 | |                                 .await
[INFO] [stdout]      | |                                      -
[INFO] [stdout]      | |______________________________________|
[INFO] [stdout]      | |______________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 | |                             Err(error) => {
[INFO] [stdout]      | |                                 -----
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 `error` calls a custom destructor
[INFO] [stdout]      | |                                 `error` will be dropped later as of Edition 2024
[INFO] [stdout]  262 | |                                 let _ = send(socket, error_frame(&error.to_string(), false)).await;
[INFO] [stdout]      | |                                         ----------------------------------------------------------
[INFO] [stdout]      | |                                         |
[INFO] [stdout]      | |                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  267 |                           match state
[INFO] [stdout]      |  _______________________________-
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]  268 | |                             .app
[INFO] [stdout]  269 | |                             .watch_lobby(
[INFO] [stdout]  270 | |                                 &resume.lobby_id,
[INFO] [stdout] ...    |
[INFO] [stdout]  274 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                `#10` will be dropped later as of Edition 2024
[INFO] [stdout]  275 |                           {
[INFO] [stdout]  276 | |                             Ok((events, snapshot, submitted)) => {
[INFO] [stdout]      | |                                 ------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  282 |                                   if send(
[INFO] [stdout]      |  ____________________________________-
[INFO] [stdout]      | |____________________________________|
[INFO] [stdout]  283 | |                                     socket,
[INFO] [stdout]  284 | |                                     welcome_frame(&session, snapshot, submitted, &state.catalogue),
[INFO] [stdout]  285 | |                                 )
[INFO] [stdout]  286 | |                                 .await
[INFO] [stdout]      | |                                      -
[INFO] [stdout]      | |______________________________________|
[INFO] [stdout]      | |______________________________________this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                        `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  294 | |                                 let _ = send(socket, error_frame("session expired", true)).await;
[INFO] [stdout]      | |                                         --------------------------------------------------------
[INFO] [stdout]      | |                                         |
[INFO] [stdout]      | |                                         this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                         `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  300 | |                         let _ = send(socket, pong_frame()).await;
[INFO] [stdout]      | |                                 --------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                 `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  303 | |                         let _ = send(socket, error_frame("join the lobby first", false)).await;
[INFO] [stdout]      | |                                 --------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | |     }
[INFO] [stdout]      | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/broadcast.rs:1548:1
[INFO] [stdout]      |
[INFO] [stdout] 1548 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/broadcast.rs:1548:1
[INFO] [stdout]      |
[INFO] [stdout] 1548 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/ws.rs:188:53
[INFO] [stdout]     |
[INFO] [stdout] 163 | /             tokio::select! {
[INFO] [stdout] 164 | |                 incoming = socket.recv() => match incoming {
[INFO] [stdout]     | |                 --------
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `incoming` calls a custom destructor
[INFO] [stdout]     | |                 `incoming` will be dropped later as of Edition 2024
[INFO] [stdout] 165 | |                     Some(Ok(Message::Binary(bytes))) => {
[INFO] [stdout] 166 | |                         if let Ok(frame) = decode_frame::<v1::ClientFrame>(&bytes) {
[INFO] [stdout] 167 | |                             if !handle_command(&mut socket, &state, &session, frame).await {
[INFO] [stdout]     | |                                 ----------------------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 177 | |                         if send(&mut socket, update_frame(event)).await.is_err() {
[INFO] [stdout]     | |                            --------------------------------------------
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |                         if send(&mut socket, moved_frame(game_id, turn, seat)).await.is_err() {
[INFO] [stdout]     | |                            ---------------------------------------------------------
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 188 | |                         if let Ok((lobby, submitted)) = state
[INFO] [stdout]     | |    _____________________________________________________^
[INFO] [stdout] 189 | |   |                         .app
[INFO] [stdout] 190 | |   |                         .get_private_snapshot(&session.lobby_id, &session.player_id, &session.token)
[INFO] [stdout] 191 | |   |                         .await
[INFO] [stdout]     | |   |                          ----^
[INFO] [stdout]     | |   |                          |   |
[INFO] [stdout]     | |   |                          |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |   |                          |   up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |   |__________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                              |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                              this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |                              up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 192 | |                         {
[INFO] [stdout] 193 | |                             if send(&mut socket, welcome_frame(&session, lobby, submitted, &state.catalogue)).await.is_err() {
[INFO] [stdout]     | |                                ------------------------------------------------------------------------------------
[INFO] [stdout]     | |                                |
[INFO] [stdout]     | |                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 197 | |                     }
[INFO] [stdout]     | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |                     if send(&mut socket, pong_frame()).await.is_err() {
[INFO] [stdout]     | |                        -------------------------------------
[INFO] [stdout]     | |                        |
[INFO] [stdout]     | |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 205 | |             }
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `output` calls a custom destructor
[INFO] [stdout]     | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures` calls a custom destructor
[INFO] [stdout]     | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `output` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `incoming` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/app.rs:618:23
[INFO] [stdout]      |
[INFO] [stdout]  618 |                   match Arc::clone(&app)
[INFO] [stdout]      |  _______________________^
[INFO] [stdout]  619 | |                     .resolve_deadline(Arc::clone(&lobby), game_id, turn)
[INFO] [stdout]  620 | |                     .await
[INFO] [stdout]      | |                      ----^
[INFO] [stdout]      | |                      |   |
[INFO] [stdout]      | |                      |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                      |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  623 |                       Err(error) => {
[INFO] [stdout]      |                           -----
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `error` calls a custom destructor
[INFO] [stdout]      |                           `error` will be dropped later as of Edition 2024
[INFO] [stdout]  624 |                           eprintln!("deadline resolution failed; retrying: {error:#}");
[INFO] [stdout]  625 |                           tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      |                           ------------------------------------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  628 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/ws.rs:228:31
[INFO] [stdout]      |
[INFO] [stdout]  218 |           match socket.recv().await {
[INFO] [stdout]      |                 -------------------
[INFO] [stdout]      |                 |             |
[INFO] [stdout]      |                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  228 |                           match state
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout]  229 | |                             .app
[INFO] [stdout]  230 | |                             .join_or_create_lobby(&join.lobby_name, join.display_name)
[INFO] [stdout]  231 | |                             .await
[INFO] [stdout]      | |                              ----^
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |                              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                              |   up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  239 |                                   let Ok((events, snapshot, submitted)) = state
[INFO] [stdout]      |  _________________________________________------__________________________-
[INFO] [stdout]      |  _________________________________________|_______________________________|
[INFO] [stdout]      |  _________________________________________|_______________________________|
[INFO] [stdout]      |  _________________________________________|_______________________________|
[INFO] [stdout]      | |                                         |
[INFO] [stdout]      | |                                         `events` calls a custom destructor
[INFO] [stdout]      | |                                         `events` will be dropped later as of Edition 2024
[INFO] [stdout]  240 | |                                     .app
[INFO] [stdout]  241 | |                                     .watch_lobby(
[INFO] [stdout]  242 | |                                         &session.lobby_id,
[INFO] [stdout] ...    |
[INFO] [stdout]  246 | |                                     .await
[INFO] [stdout]      | |                                      -----
[INFO] [stdout]      | |______________________________________|___|
[INFO] [stdout]      | |______________________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |______________________________________|___`#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                        |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  250 |                                   if send(
[INFO] [stdout]      |  ____________________________________-
[INFO] [stdout]      | |____________________________________|
[INFO] [stdout]  251 | |                                     socket,
[INFO] [stdout]  252 | |                                     welcome_frame(&session, snapshot, submitted, &state.catalogue),
[INFO] [stdout]  253 | |                                 )
[INFO] [stdout]  254 | |                                 .await
[INFO] [stdout]      | |                                      -
[INFO] [stdout]      | |______________________________________|
[INFO] [stdout]      | |______________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 | |                             Err(error) => {
[INFO] [stdout]      | |                                 -----
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 `error` calls a custom destructor
[INFO] [stdout]      | |                                 `error` will be dropped later as of Edition 2024
[INFO] [stdout]  262 | |                                 let _ = send(socket, error_frame(&error.to_string(), false)).await;
[INFO] [stdout]      | |                                         ----------------------------------------------------------
[INFO] [stdout]      | |                                         |
[INFO] [stdout]      | |                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  265 | |                     }
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  300 | |                         let _ = send(socket, pong_frame()).await;
[INFO] [stdout]      | |                                 --------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  303 | |                         let _ = send(socket, error_frame("join the lobby first", false)).await;
[INFO] [stdout]      | |                                 --------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/broadcast.rs:1548:1
[INFO] [stdout]      |
[INFO] [stdout] 1548 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/ws.rs:218:15
[INFO] [stdout]      |
[INFO] [stdout]  218 |           match socket.recv().await {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                 |             |
[INFO] [stdout]      |                 |             this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      |                 |             up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                 up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  228 |                           match state
[INFO] [stdout]      |  _______________________________-
[INFO] [stdout]  229 | |                             .app
[INFO] [stdout]  230 | |                             .join_or_create_lobby(&join.lobby_name, join.display_name)
[INFO] [stdout]  231 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  239 |                                   let Ok((events, snapshot, submitted)) = state
[INFO] [stdout]      |  _________________________________________------__________________________-
[INFO] [stdout]      |  _________________________________________|_______________________________|
[INFO] [stdout]      |  _________________________________________|_______________________________|
[INFO] [stdout]      |  _________________________________________|_______________________________|
[INFO] [stdout]      | |                                         |
[INFO] [stdout]      | |                                         `events` calls a custom destructor
[INFO] [stdout]      | |                                         `events` will be dropped later as of Edition 2024
[INFO] [stdout]  240 | |                                     .app
[INFO] [stdout]  241 | |                                     .watch_lobby(
[INFO] [stdout]  242 | |                                         &session.lobby_id,
[INFO] [stdout] ...    |
[INFO] [stdout]  246 | |                                     .await
[INFO] [stdout]      | |                                      -----
[INFO] [stdout]      | |______________________________________|___|
[INFO] [stdout]      | |______________________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |______________________________________|___`#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                        |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  250 |                                   if send(
[INFO] [stdout]      |  ____________________________________-
[INFO] [stdout]      | |____________________________________|
[INFO] [stdout]  251 | |                                     socket,
[INFO] [stdout]  252 | |                                     welcome_frame(&session, snapshot, submitted, &state.catalogue),
[INFO] [stdout]  253 | |                                 )
[INFO] [stdout]  254 | |                                 .await
[INFO] [stdout]      | |                                      -
[INFO] [stdout]      | |______________________________________|
[INFO] [stdout]      | |______________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 | |                             Err(error) => {
[INFO] [stdout]      | |                                 -----
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 `error` calls a custom destructor
[INFO] [stdout]      | |                                 `error` will be dropped later as of Edition 2024
[INFO] [stdout]  262 | |                                 let _ = send(socket, error_frame(&error.to_string(), false)).await;
[INFO] [stdout]      | |                                         ----------------------------------------------------------
[INFO] [stdout]      | |                                         |
[INFO] [stdout]      | |                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  267 |                           match state
[INFO] [stdout]      |  _______________________________-
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]  268 | |                             .app
[INFO] [stdout]  269 | |                             .watch_lobby(
[INFO] [stdout]  270 | |                                 &resume.lobby_id,
[INFO] [stdout] ...    |
[INFO] [stdout]  274 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                `#10` will be dropped later as of Edition 2024
[INFO] [stdout]  275 |                           {
[INFO] [stdout]  276 | |                             Ok((events, snapshot, submitted)) => {
[INFO] [stdout]      | |                                 ------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  282 |                                   if send(
[INFO] [stdout]      |  ____________________________________-
[INFO] [stdout]      | |____________________________________|
[INFO] [stdout]  283 | |                                     socket,
[INFO] [stdout]  284 | |                                     welcome_frame(&session, snapshot, submitted, &state.catalogue),
[INFO] [stdout]  285 | |                                 )
[INFO] [stdout]  286 | |                                 .await
[INFO] [stdout]      | |                                      -
[INFO] [stdout]      | |______________________________________|
[INFO] [stdout]      | |______________________________________this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                        `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  294 | |                                 let _ = send(socket, error_frame("session expired", true)).await;
[INFO] [stdout]      | |                                         --------------------------------------------------------
[INFO] [stdout]      | |                                         |
[INFO] [stdout]      | |                                         this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                         `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  300 | |                         let _ = send(socket, pong_frame()).await;
[INFO] [stdout]      | |                                 --------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                 `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  303 | |                         let _ = send(socket, error_frame("join the lobby first", false)).await;
[INFO] [stdout]      | |                                 --------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | |     }
[INFO] [stdout]      | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/broadcast.rs:1548:1
[INFO] [stdout]      |
[INFO] [stdout] 1548 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/broadcast.rs:1548:1
[INFO] [stdout]      |
[INFO] [stdout] 1548 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/ws.rs:188:53
[INFO] [stdout]     |
[INFO] [stdout] 163 | /             tokio::select! {
[INFO] [stdout] 164 | |                 incoming = socket.recv() => match incoming {
[INFO] [stdout]     | |                 --------
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `incoming` calls a custom destructor
[INFO] [stdout]     | |                 `incoming` will be dropped later as of Edition 2024
[INFO] [stdout] 165 | |                     Some(Ok(Message::Binary(bytes))) => {
[INFO] [stdout] 166 | |                         if let Ok(frame) = decode_frame::<v1::ClientFrame>(&bytes) {
[INFO] [stdout] 167 | |                             if !handle_command(&mut socket, &state, &session, frame).await {
[INFO] [stdout]     | |                                 ----------------------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 177 | |                         if send(&mut socket, update_frame(event)).await.is_err() {
[INFO] [stdout]     | |                            --------------------------------------------
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |                         if send(&mut socket, moved_frame(game_id, turn, seat)).await.is_err() {
[INFO] [stdout]     | |                            ---------------------------------------------------------
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 188 | |                         if let Ok((lobby, submitted)) = state
[INFO] [stdout]     | |    _____________________________________________________^
[INFO] [stdout] 189 | |   |                         .app
[INFO] [stdout] 190 | |   |                         .get_private_snapshot(&session.lobby_id, &session.player_id, &session.token)
[INFO] [stdout] 191 | |   |                         .await
[INFO] [stdout]     | |   |                          ----^
[INFO] [stdout]     | |   |                          |   |
[INFO] [stdout]     | |   |                          |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |   |                          |   up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |   |__________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                              |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                              this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |                              up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 192 | |                         {
[INFO] [stdout] 193 | |                             if send(&mut socket, welcome_frame(&session, lobby, submitted, &state.catalogue)).await.is_err() {
[INFO] [stdout]     | |                                ------------------------------------------------------------------------------------
[INFO] [stdout]     | |                                |
[INFO] [stdout]     | |                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 197 | |                     }
[INFO] [stdout]     | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |                     if send(&mut socket, pong_frame()).await.is_err() {
[INFO] [stdout]     | |                        -------------------------------------
[INFO] [stdout]     | |                        |
[INFO] [stdout]     | |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 205 | |             }
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `output` calls a custom destructor
[INFO] [stdout]     | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures` calls a custom destructor
[INFO] [stdout]     | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `output` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `incoming` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 54s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/app.rs:618:23
[INFO] [stdout]      |
[INFO] [stdout]  618 |                   match Arc::clone(&app)
[INFO] [stdout]      |  _______________________^
[INFO] [stdout]  619 | |                     .resolve_deadline(Arc::clone(&lobby), game_id, turn)
[INFO] [stdout]  620 | |                     .await
[INFO] [stdout]      | |                      ----^
[INFO] [stdout]      | |                      |   |
[INFO] [stdout]      | |                      |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                      |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  623 |                       Err(error) => {
[INFO] [stdout]      |                           -----
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `error` calls a custom destructor
[INFO] [stdout]      |                           `error` will be dropped later as of Edition 2024
[INFO] [stdout]  624 |                           eprintln!("deadline resolution failed; retrying: {error:#}");
[INFO] [stdout]  625 |                           tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      |                           ------------------------------------------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  628 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: herdcore-core v0.1.0 (/opt/rustwide/workdir/crates/core) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: herdcore-protocol v0.1.0 (/opt/rustwide/workdir/crates/protocol) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: herdcore-server v0.1.0 (/opt/rustwide/workdir/crates/server) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: herdcore-bot v0.1.0 (/opt/rustwide/workdir/crates/bot) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: herdcore-web v0.1.0 (/opt/rustwide/workdir/crates/web) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: simsimd v6.5.16 (/opt/rustwide/workdir/crates/simsimd-pure) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling herdcore-protocol v0.1.0 (/opt/rustwide/workdir/crates/protocol)
[INFO] [stderr]     Checking herdcore-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]     Checking simsimd v6.5.16 (/opt/rustwide/workdir/crates/simsimd-pure)
[INFO] [stderr]     Checking turso_core v0.6.1
[INFO] [stderr]     Checking herdcore-bot v0.1.0 (/opt/rustwide/workdir/crates/bot)
[INFO] [stderr]     Checking herdcore-web v0.1.0 (/opt/rustwide/workdir/crates/web)
[INFO] [stderr]     Checking turso_sdk_kit v0.6.1
[INFO] [stderr]     Checking turso_sync_engine v0.6.1
[INFO] [stderr]     Checking turso_sync_sdk_kit v0.6.1
[INFO] [stderr]     Checking turso v0.6.1
[INFO] [stderr]     Checking herdcore-server v0.1.0 (/opt/rustwide/workdir/crates/server)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 30s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "7f25d09cbaa8da7e58eab32ed418653ee8e76e502ace19ba53e7f9291c36e963", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f25d09cbaa8da7e58eab32ed418653ee8e76e502ace19ba53e7f9291c36e963", kill_on_drop: false }`
[INFO] [stdout] 7f25d09cbaa8da7e58eab32ed418653ee8e76e502ace19ba53e7f9291c36e963
